﻿#pragma once
#include "stdafx1.h"

#include "S_MonitorDisplayingManager.h"
#include "Probe/W_FieldProbe.h"
#include "FieldMonitor/W_FieldMonitor.h"
#include "VoltageMonitor/W_VoltageMonitor.h"
#include "CurrentMonitor/W_CurrentMonitor.h"

/*
-----==========================================================-----
		类：		场强探头模块 - 窗口管理.h
		作者：		drill_up
		所属模块：	场强探头模块
		功能：		对打开、编辑窗口进行操作，包括响应相关控制。
					（详细见cpp）
-----==========================================================-----
*/

class S_MonitorWindowManager : public QObject
{
	Q_OBJECT

	public:
		S_MonitorWindowManager();
		~S_MonitorWindowManager();
		static S_MonitorWindowManager* cur_manager;		//单例
		static S_MonitorWindowManager* getInstance();	//单例，获取自己


	//-----------------------------------
	//----场强探头
	protected:
		W_FieldProbe* m_W_FieldProbe = nullptr;		
	public:
														//场强探头 - 添加
		void openAddWindowFieldProbe();
														//场强探头 - 编辑 
		void openModifyWindowFieldProbe(QString id);
														//场强探头 - 编辑（action）
		void openModifyWindowFieldProbeInAction();

	protected slots:
														//场强探头 - 提交数据
		void acceptDataFieldProbe(bool isAddMode, C_FieldProbe data);

	//-----------------------------------
	//----场监视器
	protected:
		W_FieldMonitor* m_W_FieldMonitor = nullptr;
	public:
														//场监视器 - 添加
		void openAddWindowFieldMonitor();
														//场监视器 - 编辑
		void openModifyWindowFieldMonitor(QString id);
														//场监视器 - 编辑（action）
		void openModifyWindowFieldMonitorInAction();
	protected slots:
														//场监视器 - 提交数据
		void acceptDataFieldMonitor(bool isAddMode, C_FieldMonitor data);
		

	//-----------------------------------
	//----电压监视器
	protected:
		W_VoltageMonitor* m_W_VoltageMonitor = nullptr;		//电压监视器
	public:
												//电压监视器 - 添加
		void openAddWindowVoltageMonitor();
												//电压监视器 - 编辑 
		void openModifyWindowVoltageMonitor(QString id);
												//电压监视器 - 编辑（action）
		void openModifyWindowVoltageMonitorInAction();
	protected slots:
												//电压监视器 - 提交数据
		void acceptDataVoltageMonitor(bool isAddMode, C_VoltageMonitor data);
		

	//-----------------------------------
	//----电流监视器
	protected:
		W_CurrentMonitor* m_W_CurrentMonitor = nullptr;		//电流监视器
	public:
												//电流监视器 - 添加
		void openAddWindowCurrentMonitor();
												//电流监视器 - 编辑 
		void openModifyWindowCurrentMonitor(QString id);
												//电流监视器 - 编辑（action）
		void openModifyWindowCurrentMonitorInAction();
	protected slots:
												//电流监视器 - 提交数据
		void acceptDataCurrentMonitor(bool isAddMode, C_CurrentMonitor data);
	
		
};

